﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt
{
	// Token: 0x020000A2 RID: 162
	public class TDropIndexSqlStatement : TCustomSqlStatement
	{
		// Token: 0x0600050A RID: 1290 RVA: 0x002FC81F File Offset: 0x002FAA1F
		public TDropIndexSqlStatement(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstdropindex;
		}

		// Token: 0x0600050B RID: 1291 RVA: 0x002FC830 File Offset: 0x002FAA30
		internal override void buildsql()
		{
		}

		// Token: 0x0600050C RID: 1292 RVA: 0x002FC832 File Offset: 0x002FAA32
		internal override void clear()
		{
		}

		// Token: 0x0600050D RID: 1293 RVA: 0x002FC834 File Offset: 0x002FAA34
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x0600050E RID: 1294 RVA: 0x002FC83B File Offset: 0x002FAA3B
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x170000C9 RID: 201
		// (get) Token: 0x0600050F RID: 1295 RVA: 0x002FC83D File Offset: 0x002FAA3D
		// (set) Token: 0x06000510 RID: 1296 RVA: 0x002FC845 File Offset: 0x002FAA45
		public virtual TObjectName IndexName
		{
			get
			{
				return this.indexName;
			}
			set
			{
				this.indexName = value;
			}
		}

		// Token: 0x170000CA RID: 202
		// (get) Token: 0x06000511 RID: 1297 RVA: 0x002FC84E File Offset: 0x002FAA4E
		// (set) Token: 0x06000512 RID: 1298 RVA: 0x002FC856 File Offset: 0x002FAA56
		public virtual TObjectName TableName
		{
			get
			{
				return this.tableName;
			}
			set
			{
				this.tableName = value;
			}
		}

		// Token: 0x170000CB RID: 203
		// (get) Token: 0x06000513 RID: 1299 RVA: 0x002FC85F File Offset: 0x002FAA5F
		// (set) Token: 0x06000514 RID: 1300 RVA: 0x002FC867 File Offset: 0x002FAA67
		public virtual TDropIndexItemList DropIndexItemList
		{
			get
			{
				return this.dropIndexItemList;
			}
			set
			{
				this.dropIndexItemList = value;
			}
		}

		// Token: 0x06000515 RID: 1301 RVA: 0x002FC870 File Offset: 0x002FAA70
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			TDropIndexSqlNode tdropIndexSqlNode = (TDropIndexSqlNode)this.rootNode;
			base.doParseStatement(psql);
			this.indexName = tdropIndexSqlNode.IndexName;
			base.DatabaseObjects.Add(this.indexName);
			this.tableName = tdropIndexSqlNode.TableName;
			if (tdropIndexSqlNode.DropIndexItemList != null)
			{
				this.dropIndexItemList = tdropIndexSqlNode.DropIndexItemList;
			}
			return 0;
		}

		// Token: 0x06000516 RID: 1302 RVA: 0x002FC8D9 File Offset: 0x002FAAD9
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000517 RID: 1303 RVA: 0x002FC8E9 File Offset: 0x002FAAE9
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0400112F RID: 4399
		private TObjectName tableName;

		// Token: 0x04001130 RID: 4400
		private TDropIndexItemList dropIndexItemList;

		// Token: 0x04001131 RID: 4401
		private TObjectName indexName;
	}
}
